layui.use(['table', 'admin', 'ax'], function () {
    var $ = layui.$;
    var table = layui.table;
    var $ax = layui.ax;
    var admin = layui.admin;

    /**
     * 管理
     */
    var LxGoodsWrh = {
        tableId: "lxGoodsWrhTable"
    };

    /**
     * 初始化表格的列
     */
    LxGoodsWrh.initColumn = function () {
        return [[
            {type: 'checkbox'},
            {field: 'goodsTxm', sort: true, title: '条形码'},
            {field: 'goodsName', sort: true, title: '名称'},
            {field: 'goodsGg', sort: true, title: '规格'},
            {field: 'goodsDw', sort: true, title: '单位'},
            {field: 'goodsCd', sort: true, title: '产地'},
            {field: 'goodsChl', sort: true, title: '存货量'},
            {field: 'goodsSslb', sort: true, title: '所属类别'},
            {field: 'goodsLsj', sort: true, title: '零售价'},
            {field: 'goodsPfj', sort: true, title: '批发价 '},
            {field: 'goodsBz', sort: true, title: '备注'},
            {align: 'center', toolbar: '#tableBar', title: '操作'}
        ]];
    };

    /**
     * 点击查询按钮
     */
    LxGoodsWrh.search = function () {
        var queryData = {};
        queryData['condition'] = $("#condition").val();
        table.reload(LxGoodsWrh.tableId, {
            where: queryData, page: {curr: 1},
             done:function () {
                 // 搜索按钮点击事件
                 $('#btnSearch').click(function () {
                     LxGoodsWrh.search();
                 });
                 // 添加按钮点击事件
                 $('#btnAdd').click(function () {
                     LxGoodsWrh.openAddDlg();
                 });
                 // 导出excel
                 $('#btnExp').click(function () {
                     LxGoodsWrh.exportExcel();
                 });
                 //购买商品
                 $('#btnBuy').click(function () {
                     LxGoodsWrh.buyGoods();
                 });

            }
        });
    };

    /**
     * 弹出添加对话框
     */
    LxGoodsWrh.openAddDlg = function () {
        window.location.href = Feng.ctxPath + '/lxGoodsWrh/add';
    };

    /**
     * 导出excel按钮
     */
    LxGoodsWrh.exportExcel = function () {
        var checkRows = table.checkStatus(LxGoodsWrh.tableId);
        if (checkRows.data.length === 0) {
            Feng.error("请选择要导出的数据");
        } else {
            table.exportFile(tableResult.config.id, checkRows.data, 'xls');
        }
    };


    // 选择要购买的商品

    LxGoodsWrh.buyGoods = function () {
        var checkStatus = table.checkStatus(LxGoodsWrh.tableId);
        if (checkStatus.data.length === 0) {  //判断是否有选中的商品
            Feng.error("请选择要购买的商品");
            return;
        }

        layer.open({       //弹窗
            title: '确认购买',
            content: '请输入购买数量：<br><table id="buyTable" class="layui-table">' +
                '<thead><tr><th>商品名称</th><th>购买数量</th></tr></thead>' +  //两列
                '<tbody></tbody></table>',    //表格主体
            area: ['500px', '350px'],  //弹窗高度和宽度
            success: function () {   //弹窗打开成功后执行的回调函数
                var html = '';    //定义变量 html
                for (var i = 0; i < checkStatus.data.length; i++) {   //遍历选中的商品列表，生成每个商品的购买数量输入框
                    html += '<tr>' +   //拼接一行表格
                        '<td>' + checkStatus.data[i].goodsName + '</td>' +
                        '<td><input type="text" class="buyNum" style="width: 100px;"></td>' +
                        '</tr>';  //结束拼接
                }
                $("#buyTable tbody").html(html);   //结束遍历
            },
            yes: function (index, layero) {   //执行的回调函数
                var buyNums = [];   //存放每个商品的购买数量
                var inputs = $(".buyNum");
                for (var i = 0; i < inputs.length; i++) {
                    var buyNum = parseInt($(inputs[i]).val());
                    if (buyNum <= 0 || buyNum > checkStatus.data[i].goodsChl) {
                        Feng.error(checkStatus.data[i].goodsName + "库存不足或购买数量无效");
                        return;
                    }
                    buyNums.push(buyNum);
                }
                layer.close(index);

                for (var i = 0; i < checkStatus.data.length; i++) {
                    $.post({
                        url: '/lxGoodsWrh/reduceChl',
                        data: {
                            goodsTxm: checkStatus.data[i].goodsTxm,
                            buyNum: buyNums[i] // 将购买数量传递给后台处理
                        }
                    });
                    console.log(checkStatus.data[i].goodsTxm);
                }

                table.reload(LxGoodsWrh.tableId,{
                    data:checkStatus.goodsChl
                });
                Feng.success("购买成功 ");
                layer.open({
                    type: 1,
                    title: '购买成功',
                    area: ['500px', '300px'],
                    content: '<div style="padding: 20px;">' +
                        '商品数量: ' + checkStatus.data.length +
                        '<br>订单人: ' + 'test' +
                        '</div>'
                });
            },
            cancel: function () {
                return true;
            }
        });
    };



    /**
     * 点击编辑
     *
     * @param data 点击按钮时候的行数据
     */
    LxGoodsWrh.openEditDlg = function (data) {
        window.location.href = Feng.ctxPath + '/lxGoodsWrh/edit?goodsName=' + data.goodsName;
    };

    /**
     * 点击删除
     *
     * @param data 点击按钮时候的行数据
     */
    LxGoodsWrh.onDeleteItem = function (data) {
        var operation = function () {
            var ajax = new $ax(Feng.ctxPath + "/lxGoodsWrh/delete", function (data) {
                Feng.success("删除成功!");
                table.reload(LxGoodsWrh.tableId);
            }, function (data) {
                Feng.error("删除失败!" + data.responseJSON.message + "!");
            });
            ajax.set("goodsName", data.goodsName);
            ajax.start();
        };
        Feng.confirm("是否删除?", operation);
    };

    // 渲染表格
    var tableResult = table.render({
        elem: '#' + LxGoodsWrh.tableId,
        url: Feng.ctxPath + '/lxGoodsWrh/list',
        page: true,
        limit: 20,
        height: "full-60",
        toolbar: '#toolbarfrom',
        cellMinWidth: 100,
        cols: LxGoodsWrh.initColumn()
    });

    // 搜索按钮点击事件
    $('#btnSearch').click(function () {
        LxGoodsWrh.search();
    });

    // 添加按钮点击事件
    $('#btnAdd').click(function () {
        LxGoodsWrh.openAddDlg();
    });

    // 导出excel
    $('#btnExp').click(function () {
        LxGoodsWrh.exportExcel();
    });

    // 购买商品

    $('#btnBuy').click(function () {
        LxGoodsWrh.buyGoods();
    });

    // 工具条点击事件
    table.on('tool(' + LxGoodsWrh.tableId + ')', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;

        if (layEvent === 'edit') {
            LxGoodsWrh.openEditDlg(data);
        } else if (layEvent === 'delete') {
            LxGoodsWrh.onDeleteItem(data);
        }
    });
});
